home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / PowerPlant / CKT AGA 1.0 / LPushButton.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-28  |  1.0 KB  |  50 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        LPushButton.h
  3.  
  4.     Contains:    AGA-savvy pushbutton.
  5.  
  6.     Copyright:    ©1996 Chris K. Thomas.  All Rights Reserved.
  7.  
  8.     Version:    1.0
  9. */
  10.  
  11. #include <LControl.h>
  12.  
  13. class LPushButton:
  14.     public LControl
  15. {
  16.  
  17. public:
  18.     static LPushButton *    CreatePushButtonStream(LStream *inStream);
  19.     
  20.                             LPushButton();
  21.                             LPushButton(LStream *inStream);
  22.     virtual                    ~LPushButton();
  23.     
  24.     virtual StringPtr    GetDescriptor(Str255 outDescriptor) const;
  25.     virtual void        SetDescriptor(ConstStringPtr inDescriptor);
  26.  
  27. protected:
  28.  
  29.     virtual void HotSpotAction(Int16 inHotSpot, Boolean inCurrInside, Boolean inPrevInside);
  30.     virtual void HotSpotResult(Int16 inHotSpot);
  31.  
  32.     virtual void OptimizeButtonSize();
  33.  
  34.     virtual Boolean IsPressed()
  35.     {
  36.         return mPressed;
  37.     }
  38.     
  39.     virtual void DrawSelf();
  40.     
  41.     virtual void DrawOutline(    const Rect &r,
  42.                                 const RGBColor *inOutlineColor,
  43.                                 const RGBColor *inOutlineAliasColor);
  44.                                 
  45.     virtual void DrawText(const Rect &r);
  46.     virtual void DrawButtonBackground(const Rect &r);
  47.     
  48.     Boolean        mPressed;
  49.     Handle        mTitle;
  50. };